#pragma once

#include <boost/shared_ptr.hpp>
#include <QtCore/QUrl>

#include "exports.hpp"




class CRAWLER_API UrlReader
{
public:

	typedef boost::shared_ptr<UrlReader>         Ptr;
	typedef boost::shared_ptr<const UrlReader>   const_Ptr;

public:

	UrlReader() {}
	virtual ~UrlReader() {}



	/**
	 * @returns the next url from the provider
	 */
	virtual boost::optional<QUrl> next() = 0;
};
///////////////////////////////////////////////////////////////////////////////////////////////////
